<?php
include_once getenv('DOCUMENT_ROOT').'/evento/DAO/DAOFactory.class.php';
include_once getenv('DOCUMENT_ROOT').'/evento/VOB/VOBFactory.class.php';

class UnidadeAction {

    public function __construct(){
       
        if(!isset($_SESSION))
            session_start();
    }

    public function obterPorId(Unidade $objUnidade) {

        $DAOf = new DAOFactory();
        $objDAOUnidade = $DAOf->getUnidadeDAO();

        $rs = $objDAOUnidade->listar("ide_unidade = '{$objUnidade->getId()}'");

        $c = null;

        if ($rs != null) {
            foreach ($rs as $array){
                $VOBf = new VOBFactory();
                $c = $VOBf->getUnidade();
                $c = $this->copiarPropriedades($array,$c);
            }
        }
            return $c;
    }
    
    public function listar($where = "",$order = "",$inPage = "", $porPagina= ""){

        $lista = null;
        $pRegistro = null;

        if ($inPage != null || $porPagina != null)
            $pRegistro = ($inPage*$porPagina) - $porPagina;

		$DAOf = new DAOFactory();
		$objDAOUnidade = $DAOf->getUnidadeDAO();

		$rs = $objDAOUnidade->listar($where,$order,$porPagina,$pRegistro);

		if($rs != null){
                    foreach ($rs as $array){
                        $VOBf = new VOBFactory();
                        $e = $VOBf->getUnidade();
                        $e = $this->copiarPropriedades($array, $e);
                        $lista[] = $e;
                    }
		}
		return $lista;
	}



    
//    public function obterQuantidade($where = "") {
//
//        $DAOf = new DAOFactory();
//        $objDAOUnidade = $DAOf->getUnidadeDAO();
//
//        $rs = $objDAOUnidade->obterQuantidade($where);
//
//        $total = 0;
//        if($rs != null){
//            foreach ($rs as $array){
//                $total = $array["total"];
//            }
//        }
//
//        return $total;
//
//    }

       
    public function inserir(Unidade $objUnidade){

        
    
        $flag = true;

        $DAOf = new DAOFactory();
        $objDAOUnidade = $DAOf->getUnidadeDAO();

        //$flag = $this->validarInserir($objUnidade);

        if($flag){
            $flag = $objDAOUnidade->inserir($objUnidade);
        }

        return $flag;

    }

    

    public function alterar(Unidade $objUnidade){
       
        $flag = true;

        $DAOf = new DAOFactory();
        $objDAOUnidade = $DAOf->getUnidadeDAO();

        //$flag = $this->validarAlterar($objUnidade);
        
        if($flag){
            $flag = $objDAOUnidade->atualizar($objUnidade);
        }

        return $flag;

    }


   

    public function deletar(Unidade $objUnidade){
          
            $flag = true;
            
            $DAOf = new DAOFactory();
            $objDAOUnidade = $DAOf->getUnidadeDAO();
                        
            if($flag){
                $ok = $objDAOUnidade->deletar($objUnidade);
                }
            return $ok;
        }
	
    private function copiarPropriedades(array $array, Unidade $objUnidade){


        if (isset($array["ide_unidade"])) {
            $objUnidade->setId($array["ide_unidade"]);
        }
        if (isset($array["des_unidade"])) {
            $objUnidade->setDescricao($array["des_unidade"]);
        }
    
        return $objUnidade;
   }


  

}

?>